The creation and storage of digitized data has proliferated in recent years. Accordingly, techniques and mechanisms that facilitate efficient and cost effective storage of large amounts of digital data are common today. For example, a cluster network environment of nodes may be implemented as a data storage system to facilitate the creation, storage, retrieval, and/or processing of digital data. Such a data storage system may be implemented using a variety of storage architectures, such as a network-attached storage (NAS) environment, a storage area network (SAN), a direct-attached storage environment, and combinations thereof. The foregoing data storage systems may comprise one or more data storage devices configured to store digital data within data volumes.
Digital data stored by data storage systems may be frequently migrated within the data storage system and/or between data storage systems during normal operation. For example, when one or more users desire to access or download files, a portion or even the entire contents of a data volume may be sent across the network to be accessed by the user. Such communications may take place between multiple nodes of the storage network, between a storage array and one or more nodes, between other communication devices on the network (e.g. switches and relays), etc. Additionally, data within the data storage system may be mirrored to other locations such as for disaster-recovery (DR) and/or high-availability (HA) data operations.
Issues arise in storage networks when mirroring data because compiling data from multiple locations, e.g. among multiple nodes in a cluster of a storage network, for later replication at another location, such as at a DR site, creates inefficiencies within the storage network. For example, in present systems, replicating data from a cluster of nodes requires the system to quiesce each of the nodes in order to establish a snapshot of the cluster which may then be utilized to create/update a DR storage resource.
In other words, in present systems, each of the nodes of a cluster in a storage network must temporarily suspend its operation in order to provide for a synchronized snapshot of the whole cluster of nodes for DR or other replication purposes. While the nodes are suspended, they are also temporarily unavailable to clients which are attempting to store/retrieve data from the storage network. This causes undesirable inefficiencies within the storage network, which may eventually effect the overall performance of the network and potentially frustrate the end user.